/*************************************************************************************
  Copyright (C) 2014 Laboratori de Gràfics i Imatge, Universitat de Girona &
  Institut de Diagnòstic per la Imatge.
  Girona 2014. All rights reserved.
  http://starviewer.udg.edu

  This file is part of the Starviewer (Medical Imaging Software) open source project.
  It is subject to the license terms in the LICENSE file found in the top-level
  directory of this distribution and at http://starviewer.udg.edu/license. No part of
  the Starviewer (Medical Imaging Software) open source project, including this file,
  may be copied, modified, propagated, or distributed except according to the
  terms contained in the LICENSE file.
 *************************************************************************************/

#ifndef MACHINEIDENTIFIER_H
#define MACHINEIDENTIFIER_H

#include <QString>

namespace udg {

class MachineIdentifier {
public:
    MachineIdentifier();

    /// Obtenir l'identificador de la màquina
    QString getMachineID();
    /// Obtenir el grup de treball on es troba de la màquina
    QString getGroupID();

private:
    /// Codifica en base64 una QByteArray i a més el transforma per que sigui una part d'una url vàlida
    QString encryptBase64Url(const QString &url);
    /// Busca la interfície de xarxa i retorna la seva adreça MAC.
    virtual QString getMACAddress();
    /// Busca el domini de la màquina.
    virtual QString getDomain();

};

}

#endif // MACHINEIDENTIFIER_H
